Electronic musical instruments, such as electronic organs and synthesizers of various forms, have become very sophisticated in being able to digitally store a waveform formed of individually addressable samples. When the samples are read sequentially and converted into a signal for audio play through a speaker, a tone or sound is created representative of the stored waveform.
The desired objective, in terms or replicating actual acoustic instruments, is to make the replicated sound as natural or life-like as possible while making the instrument as economical as possible. This is generally accomplished by providing a bank of oscillators or note generators that are fewer in number than the maximum number of actuating keys and stops. Also, the smaller the memory storing the waveforms, the less expensive the instrument.
Various techniques have been developed for reading waveform memories for producing a desired sound. In U.S. Pat. No. 4,683,793, Deutsch discloses an instrument in which only half of each waveform cycle is stored. Each half cycle is read out in a forward direction and then in a reverse direction to get a complete cycle. The characteristics of the resultant waveform is provided by the characteristics of each half cycle read.
Hiyoshi et al., in U.S. Pat. No. 4,461,199, describe a system in which the time taken to read out stored samples at different octaves is achieved by providing the user with the capability of programming the number and order of waveform cycles to be sequentially read out from a waveform memory. A sustain waveform cycle must be identified that is then repeated indefinitely until a key is released. The time from the beginning of attack until release of an activating key is thereby maintained regardless of the octave played.
Hideo, in U.S. Pat. No. 4,611,522, describes a wave synthesizing apparatus in which changes in waveshapes played is accomplished by combining an elementary tone wave with a progressively changing incremental wave.
A similar approach is taught by Comerford in U.S. Pat. No. 4,202,234. With this approach, a sound is formed by interpolative sampling between two waveform cycles to produce a note with harmonic structure between the two sampled structures.
Masaki et al., in U.S. Pat. No. 4,893,538, describe an electronic musical instrument that generates tones based on plural input parameters that are used to address corresponding memory locations.
Sakashita et al., in U.S. Pat. No. 4,348,928, describe an instrument capable of producing complex musical waveshape by a tone control device. Control is provided by the use of two main memory circuits and a musical waveshape calculator.
U.S. Pat. No. 4,442,745 issued to Gross et al. and U.S. Pat. No. 4,502,361 issued to Viitanen et al. describe electronic musical instruments that read through a stored attack waveform segment and then randomly repeat a recycled or steady state portion, through forward-only scanning or forward and reverse scanning.
All of these references deal with the providing of one note or sound from each oscillator. In an instrument that has fewer notes than oscillators, the user is unable to play the full spectrum of sounds that may be available individually. There thus remains a need for generating more notes than the number of available oscillators.
In order to generate a tone of different pitches, a single waveform is played at different read-out rates. Such a technique is described by Deutsch in U.S. Pat. No. 3,515,792. This results in the attack portion of the stored waveform being read out at a rate that is different than the original rate that was used to generate samples for storing the waveform. However, the natural instrument that creates the original sound will have an attack portion of the sound that does not vary linearly with the pitch or dominant frequency of the tone.
This phenomenon is also true of other forms of modulation of the base tone. Such time-varying characteristics, referred to generally as tremulant, including tremolo (amplitude modulation), vibrato (frequency modulation) and timbre (harmonic modulation), are not generally linearly related to the pitch.
As is described in the Gross et al. and Viitanen et al. patents, a common method of applying tremulant modulation to a signal, such as during the attack and decay portions of the tone generation, is to apply a modulation envelope to the signal, either before or after the read digital samples are converted into an analog signal. Such modulation schemes require separate components to manipulate the stored waveform signal. Also, the tremulant for some sounds is so complex that it is difficult to simulate artificially.
An alternative approach that has been used is disclosed by Wachi in U.S. Pat. No. 4,584,921. In that system, a separate attack waveform segment and sustain tone are stored for each pitch. This approach requires an extensive amount of memory.
There therefore remains a need for an electronic musical instrument that is capable of rendering attack and other modulation effects independent of pitch that has reduced memory and supporting components.
In the environment of tone generation in an instrument having fewer tone oscillators than tones, the user of the instrument is constrained to use only as many tones as there are oscillators. The user thus is not allowed to use all of the apparent resources of the instrument at a time. This clearly makes the machine less valuable to the user, and therefore cannot be sold for as much as an instrument having those capabilities.
A common characteristic of many inexpensive electronic musical instruments is the use of a central processor to generate the tones from several tone oscillators. This requires that the processor serially monitor each of the keys of the instrument and, in response to the status of the keys, control generation of the tones.
As a result each generator is not monitored constantly and is only periodically updated. The update frequency is fast enough to generate the tones, but can be too slow to allow jumps between disparate waveform cycles or segments in the memory without making undesired noise, or without ending up with a reading of memory segments not intended.
Such is the case in an instrument that is cycling through a waveform cycle or segment existing between a loop or start address location and an end address location. A current sample or phase address for reading is defined by calculating the position relative to a loop or end address. The current address is incremented a specified number of address locations between each read instruction. For instance, if the new current address is compared to the end address and it is past it, the current address is made equal to the loop address plus the difference between the end address and the current address.
Thus, the end address is used each time the current address is changed. If it is desired to jump to a different address, the results vary according to which direction in memory the jump is to be made. With the structure described, if the loop and end addresses are changed to forward or sequentially subsequent addresses, the memory between the current address and the new end address will all be read until the new end address is reached. A jump did not occur, but rather a progression to the newly defined segment.
If the start and end addresses are changed in the reverse or sequentially previous direction, then the new current address will be beyond the end address potentially more than the distance between the start and end addresses and the current address is changed to another one outside the new waveform segment. In order to avoid this discontinuity, the new end address is not changed until the current address reaches the prior end address, in which case the desired jump is completed.
These series of events would be reversed if each current address is compared to the loop address instead of the end address.
There thus also remains a need for an economically structured electronic musical instrument that has the capability to jump to noncontiguous waveform segments, whether one or a plurality of cycles, without reading any intervening segments.